package com.qfedu.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.qfedu.dao.UserDao;
import com.qfedu.entity.User;
import com.qfedu.service.intf.UserService;
import com.qfedu.vo.PageVo;
import com.qfedu.vo.R;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class UserServiceImpl implements UserService {
    @Resource
    UserDao userDao;

    @Override
    public R add(User user) {
        if (userDao.add(user) > 0) {
            return R.ok();
        } else {
            return R.fail();
        }
    }

    @Override
    public R del(int id) {
        if (userDao.del(id) > 0) {
            return R.ok();
        } else {
            return R.fail();
        }
    }

    @Override
    public R update(User user) {
        if (userDao.update(user) > 0) {
            return R.ok();
        } else {
            return R.fail();
        }
    }

    @Override
    public PageVo queryPage(int page, int limit, String username) {
        PageHelper.startPage(page, limit);
        PageInfo<User> userPageInfo = new PageInfo<>(userDao.all(username));
        return PageVo.ok(userPageInfo.getTotal(), userPageInfo.getList());
    }

    @Override
    public R selectAll() {
        return R.ok(userDao.all(null));
    }

    @Override
    public R login(User user, String yzm) {
        if (user.getYzm().equalsIgnoreCase(yzm)) {
            if (userDao.login(user) > 0) {
                return R.ok();
            } else {
                return R.fail("密码错误");
            }
        } else {
            return R.fail("验证码错误");
        }
    }
}
